var n = BigInt(prompt('请键入想要计算到小数点后的位数:') | 0);  // 先键入字符串,再转化为整数
w = n + 10n  //多计算10位，防止尾数取舍的影响
b = 10n ** w  // 算到小数点后w位
x1 = b * 4n / 5n  // 求含4/5的首项
x2 = b / 239n  // 求含1/239的首项
he = x1 + x2  // 求第一大项
n *= 2n  // 设置下面循环的终点，即共计算n项
var π;
for (var cx = 3n, dx = n; cx < dx; cx += 2n) {

    x1 /= -25n  // 求每个含1/5的项及符号
    x2 /= -57121n  // 求每个含1/239的项及符号
    x = (x1 + x2) / cx // 求两项之和
    he += x  // 求总和
    π = he * 4n  // 求出π
    π /= 10n ** 10n  // 舍掉后十位
}
console.log(π);